AWS IAM (Identity and Access Management) হল একটি নিরাপত্তা পরিষেবা যা AWS অ্যাকাউন্টের মধ্যে ব্যবহারকারীদের এবং গ্রুপগুলোর পরিচয় এবং অ্যাক্সেস কন্ট্রোল পরিচালনা করার জন্য ব্যবহৃত হয়। IAM ব্যবহারকারীদের, গ্রুপগুলো এবং রোলগুলোর মাধ্যমে AWS রিসোর্সগুলিতে নিরাপদভাবে অ্যাক্সেস নিয়ন্ত্রণ করতে সহায়তা করে, যাতে আপনি নির্ধারণ করতে পারেন কে কী করতে পারবে।
AWS IAM একটি অত্যন্ত গুরুত্বপূর্ণ টুল যা আপনার ক্লাউড সিস্টেমের নিরাপত্তা এবং ব্যবস্থাপনা নিশ্চিত করে। এটি আপনার AWS অ্যাকাউন্টের রিসোর্সগুলির জন্য নিরাপদ এবং নিয়ন্ত্রিত অ্যাক্সেস প্রদান করতে সাহায্য করে।
AWS Identity and Access Management (IAM) একটি অত্যন্ত গুরুত্বপূর্ণ সেবা যা আপনাকে AWS রিসোর্সগুলোতে নিরাপদ অ্যাক্সেস নিয়ন্ত্রণ করতে সাহায্য করে। IAM ব্যবহারকারীদের, গ্রুপের, এবং রোলের মাধ্যমে অ্যাক্সেস ম্যানেজমেন্ট ব্যবস্থা সরবরাহ করে, যাতে আপনি প্রতিটি ব্যবহারকারীর এবং সিস্টেমের জন্য নির্দিষ্ট অনুমতি নির্ধারণ করতে পারেন।
IAM ব্যবহারকারী হলো AWS অ্যাকাউন্টে একটি একক এন্টিটি যা AWS রিসোর্সগুলোর সাথে ইন্টারঅ্যাক্ট করার জন্য ব্যবহৃত হয়। প্রতিটি ব্যবহারকারীর একটি নির্দিষ্ট ব্যবহারকারীর নাম এবং পাসওয়ার্ড থাকে, এবং তাদের জন্য নির্দিষ্ট অনুমতি প্রদান করা হয়।
একটি ব্যবহারকারী JohnDoe
তৈরি করেছেন, এবং তাকে স্রেফ S3
বকেটে ফাইল আপলোড করার অনুমতি দিয়েছেন।
IAM গ্রুপ হলো একটি সংগঠন যা একাধিক IAM ব্যবহারকারীকে একটি নির্দিষ্ট সেটের অনুমতি প্রদান করে। গ্রুপের মাধ্যমে আপনি একযোগভাবে অনেক ব্যবহারকারীকে অনুমতি দিতে পারেন, যা ব্যবস্থাপনা সহজ করে তোলে।
আপনি একটি গ্রুপ Developers
তৈরি করেছেন, এবং তাদেরকে EC2 এবং S3 রিসোর্সে সম্পূর্ণ অ্যাক্সেস প্রদান করেছেন।
IAM রোল হলো একটি সেট অনুমতি যা একটি সুনির্দিষ্ট কাজ বা সার্ভিসের জন্য অ্যাসাইন করা হয়। রোল মূলত সিস্টেম বা অ্যাপ্লিকেশনগুলির মধ্যে ব্যবহৃত হয়, যেমন EC2 ইন্সট্যান্স বা Lambda ফাংশন। ব্যবহারকারী বা সিস্টেম রোল গ্রহণ করে এবং তার অনুমতি অনুযায়ী অ্যাক্সেস লাভ করে।
একটি EC2 ইন্সট্যান্সের জন্য একটি রোল তৈরি করা, যেখানে EC2 ইন্সট্যান্সটি S3 বকেটে ডেটা আপলোড করার অনুমতি পাবে।
AWS IAM ব্যবহারকারীর, গ্রুপের, এবং রোলের ব্যবস্থাপনা সহজ করে তোলে এবং আপনাকে নিরাপত্তা ও অ্যাক্সেস কন্ট্রোল সঠিকভাবে পরিচালনা করতে সাহায্য করে।
AWS-এ পলিসি হলো একটি নীতিমালা বা নিয়মাবলী যা একটি ব্যবহারকারীর বা রোলের জন্য নির্দিষ্ট অ্যাক্সেস অনুমতি প্রদান করে। পলিসি তৈরি এবং সংযুক্ত করার মাধ্যমে আপনি বিভিন্ন AWS রিসোর্সে অ্যাক্সেস নিয়ন্ত্রণ করতে পারেন। AWS পলিসি গুলি সাধারণত JSON (JavaScript Object Notation) ফরম্যাটে লেখা হয় এবং তা IAM (Identity and Access Management) এর মাধ্যমে পরিচালিত হয়।
AWS পলিসি হলো একটি ডকুমেন্ট যা নির্দিষ্ট অ্যাকশনগুলি অনুমোদন বা প্রত্যাখ্যান করার জন্য সংজ্ঞায়িত করা হয়। এই পলিসি গুলি ক্লাউড রিসোর্সে অ্যাক্সেস নিয়ন্ত্রণ করে এবং কোনও ব্যবহারকারী বা রোলের জন্য নির্দিষ্ট কাজ করার অনুমতি দেয় বা সীমাবদ্ধতা আরোপ করে।
AWS-এ পলিসি তৈরি করতে হলে আপনাকে IAM (Identity and Access Management) কনসোল ব্যবহার করতে হবে। এর মাধ্যমে আপনি কাস্টম পলিসি তৈরি করতে পারেন অথবা AWS প্রদানকৃত পলিসি ব্যবহার করতে পারেন।
পলিসি তৈরি করার ধাপ:
JSON ফরম্যাটে পলিসি লিখুন:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:DescribeInstances",
"Resource": "*"
}
]
}
একবার পলিসি তৈরি হয়ে গেলে, আপনি এটি IAM User, Group, বা Role এর সাথে সংযুক্ত করতে পারেন।
পলিসি সংযুক্ত করার ধাপ:
পলিসি সংযুক্ত করার পর, এটি কার্যকরীভাবে কাজ করছে কিনা তা পরীক্ষা করা অত্যন্ত গুরুত্বপূর্ণ। আপনি IAM Policy Simulator ব্যবহার করে পলিসি পরীক্ষা করতে পারেন, যা আপনাকে একটি নির্দিষ্ট পলিসির অধীনে কি অ্যাকশনগুলো অনুমোদিত বা প্রত্যাখ্যান করা হবে তা দেখাতে সাহায্য করবে।
IAM Policy Simulator ব্যবহার করার ধাপ:
AWS-এ পলিসি তৈরি এবং সংযুক্ত করার মাধ্যমে আপনি নিরাপত্তা এবং অ্যাক্সেস নিয়ন্ত্রণ সহজে করতে পারেন। IAM Console ব্যবহার করে পলিসি তৈরি এবং সংযুক্ত করার প্রক্রিয়া সহজ এবং কার্যকর। পলিসি তৈরি করতে হলে আপনি JSON ফরম্যাটে নিয়মাবলী লিখবেন, এবং এরপর সেই পলিসি ব্যবহারকারী বা রোলের সাথে সংযুক্ত করবেন।
Multi-Factor Authentication (MFA) একটি নিরাপত্তা ফিচার, যা আপনার অ্যাকাউন্টের সুরক্ষা বাড়ানোর জন্য ব্যবহৃত হয়। এটি ইউজার আইডি এবং পাসওয়ার্ডের পাশাপাশি একটি দ্বিতীয় সিকিউরিটি স্তর যোগ করে, যেমন একটি এককালীন পাসওয়ার্ড (OTP) বা ফিঙ্গারপ্রিন্ট। AWS-এ MFA সেটআপ করার মাধ্যমে আপনি আপনার অ্যাকাউন্টের নিরাপত্তা নিশ্চিত করতে পারেন।
MFA ব্যবহার করার মাধ্যমে আপনার AWS একাউন্টে কোনো অননুমোদিত প্রবেশ ঠেকানো সম্ভব। এই নিরাপত্তা স্তরটি নিশ্চিত করে যে, শুধুমাত্র পাসওয়ার্ড জানা ব্যক্তি নয়, দ্বিতীয় একটি সিকিউরিটি কোড (যেমন মোবাইল ফোনের মাধ্যমে প্রাপ্ত কোড) জানাও প্রয়োজন।
AWS তিন ধরনের MFA ডিভাইস সমর্থন করে:
ধরা যাক, আপনি Virtual MFA device ব্যবহার করতে চান (যা সবচেয়ে সাধারণ এবং সুবিধাজনক):
MFA সেটআপ করার পর, যখন আপনি AWS কনসোলে লগইন করবেন, তখন আপনাকে প্রথমে আপনার ইউজারনেম এবং পাসওয়ার্ড দিতে হবে, এবং তারপর একটি এককালীন 6 ডিজিটের কোডও প্রদান করতে হবে, যা আপনার MFA ডিভাইস বা অ্যাপ্লিকেশন থেকে পাওয়া যাবে। এটি আপনার অ্যাকাউন্টের সুরক্ষা আরও শক্তিশালী করবে।
AWS-এ MFA সেটআপ করা আপনার অ্যাকাউন্টের নিরাপত্তা নিশ্চিত করার জন্য অত্যন্ত গুরুত্বপূর্ণ। এটি আপনার অ্যাকাউন্টে কোনো অননুমোদিত প্রবেশ আটকাতে সাহায্য করবে। আপনি সহজেই Virtual MFA device (যেমন Google Authenticator) ব্যবহার করে এটি সেটআপ করতে পারেন, যা একটি সুরক্ষিত এবং সুবিধাজনক উপায়।
AWS (Amazon Web Services) ব্যবহারকারীদের ক্লাউড পরিবেশে তাদের ডেটা, অ্যাপ্লিকেশন এবং অন্যান্য রিসোর্সের নিরাপত্তা নিশ্চিত করতে একটি শক্তিশালী নিরাপত্তা কাঠামো সরবরাহ করে। তবে, নিরাপত্তা নিশ্চিত করার জন্য ব্যবহারকারীদের কিছু প্র্যাকটিস অনুসরণ করতে হবে। এখানে AWS ক্লাউডে নিরাপত্তা নিশ্চিত করার জন্য কিছু গুরুত্বপূর্ণ সিকিউরিটি প্র্যাকটিসেস আলোচনা করা হলো।
AWS সিকিউরিটি প্র্যাকটিসেসের মাধ্যমে আপনি আপনার ক্লাউড রিসোর্স এবং ডেটাকে নিরাপদ রাখতে পারেন। AWS শক্তিশালী সিকিউরিটি টুলস এবং বৈশিষ্ট্য সরবরাহ করে, তবে ব্যবহারকারীদের উচিত যথাযথ নিরাপত্তা কনফিগারেশন এবং নিয়মিত মনিটরিং করা। নিরাপত্তা একটি অবিচ্ছেদ্য প্রক্রিয়া, এবং AWS তে সঠিক নিরাপত্তা ব্যবস্থা গ্রহণ করলে আপনার ক্লাউড ইনফ্রাস্ট্রাকচার অনেক বেশি নিরাপদ হবে।
ক্রস-অ্যাকাউন্ট এক্সেস AWS-এ একটি ব্যবস্থাপনা কৌশল, যার মাধ্যমে এক অ্যাকাউন্টের ব্যবহারকারীরা অন্য অ্যাকাউন্টের রিসোর্সে অ্যাক্সেস করতে পারে। এটি বিশেষত তখন ব্যবহৃত হয় যখন একাধিক অ্যাকাউন্টের মধ্যে সুরক্ষিতভাবে তথ্য বা রিসোর্স শেয়ার করতে হয়, যেমন ডেভেলপমেন্ট, প্রোডাকশন এবং টেস্টিং অ্যাকাউন্টগুলোর মধ্যে। ক্রস-অ্যাকাউন্ট এক্সেসের মাধ্যমে সংস্থা বা দলগুলোর মধ্যে সীমিত অথচ নিরাপদ সহযোগিতা সম্ভব হয়।
ক্রস-অ্যাকাউন্ট এক্সেস কনফিগার করতে AWS-এর IAM রোল এবং Trust Relationship ব্যবহার করা হয়। একটি অ্যাকাউন্টের IAM রোল অন্য অ্যাকাউন্টের মধ্যে ব্যবহারকারী বা পরিষেবার অ্যাক্সেস দেওয়া নিশ্চিত করে। নিচে এর সাধারণ কনফিগারেশন প্রক্রিয়া দেয়া হলো:
প্রথমে, অ্যাকাউন্ট A (যেখান থেকে এক্সেস দেওয়া হবে) IAM রোল তৈরি করতে হবে। এই রোলটি অন্য অ্যাকাউন্ট B (যেখানে অ্যাক্সেস প্রয়োজন) ব্যবহার করবে।
উদাহরণ Trust Policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:root"
},
"Action": "sts:AssumeRole"
}
]
}
এখানে, 123456789012
হলো অ্যাকাউন্ট B এর অ্যাকাউন্ট আইডি, যা অ্যাকাউন্ট A থেকে রোলটি ব্যবহার করার অনুমতি পাবে।
রোলটি তৈরি হওয়ার পর, এর সাথে কিছু পলিসি অ্যাটাচ করতে হয়, যা নির্দিষ্ট অ্যাক্সেস প্রদান করবে। উদাহরণস্বরূপ, অ্যাকাউন্ট B থেকে S3 বকেট অ্যাক্সেস করতে হলে, এই পলিসি অ্যাটাচ করতে হবে:
S3 অ্যাক্সেস পলিসি উদাহরণ
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "arn:aws:s3:::example-bucket/*"
}
]
}
এই পলিসিটি অ্যাকাউন্ট B-কে S3 বকেটের সম্পূর্ণ অ্যাক্সেস দেয়।
অ্যাকাউন্ট B-এ যেই ব্যবহারকারী বা পরিষেবা অ্যাক্সেস নিতে চায়, তারা sts:assumeRole
অ্যাকশন ব্যবহার করবে। AWS CLI বা SDK ব্যবহার করে এই রোলটি অ্যাসিউম (Assume) করা হয়।
AWS CLI ব্যবহার করে রোল অ্যাসিউম করার উদাহরণ:
aws sts assume-role --role-arn arn:aws:iam::987654321098:role/MyCrossAccountRole --role-session-name SessionName
এখানে:
arn:aws:iam::987654321098:role/MyCrossAccountRole
হলো অ্যাকাউন্ট A-এর রোলের ARN (Amazon Resource Name)।SessionName
হলো একটি সেশনের নাম, যা রোল অ্যাসিউম করার সময় দেওয়া হয়।ক্রস-অ্যাকাউন্ট এক্সেস কনফিগারেশনের পর, এটি সঠিকভাবে কাজ করছে কিনা তা পরীক্ষা করা প্রয়োজন। পরীক্ষা করতে ব্যবহারকারী AWS CLI বা SDK দিয়ে অ্যাক্সেস প্রাপ্ত রিসোর্সে অ্যাক্সেস চেক করতে পারে। উদাহরণস্বরূপ, S3 বকেটের ডেটা রিট্রাইভ করা:
aws s3 ls s3://example-bucket --profile cross-account-user
এখানে cross-account-user
হলো সেই ব্যবহারকারীর প্রোফাইল যেটি অ্যাকাউন্ট B-তে রোল অ্যাসিউম করে অ্যাক্সেস নিচ্ছে।
AWS-এ ক্রস-অ্যাকাউন্ট এক্সেস ব্যবহারের মাধ্যমে একাধিক অ্যাকাউন্টের মধ্যে নিরাপদ এবং নিয়ন্ত্রিত তথ্য শেয়ারিং সম্ভব হয়। এটি প্রতিষ্ঠানের বিভিন্ন টিম বা সিস্টেমের মধ্যে সুরক্ষিত রিসোর্স শেয়ারিং এবং ব্যবস্থাপনা নিশ্চিত করে। IAM রোল, Trust Relationship এবং পলিসি ব্যবহার করে অ্যাক্সেস কনফিগারেশন করা সহজ এবং নিরাপদ।
Read more